Trong Rust, Các hồ sơ phát hành là các cấu hình được định sẵn cho phép nhà phát triển điều chỉnh sự đánh đổi giữa thời gian biên dịch và hiệu suất thời gian chạy. Bằng cách điều chỉnh các cài đặt này, bạn có thể tùy chỉnh hành vi của trình biên dịch phù hợp với quy trình làm việc hiện tại của mình, dù là nhanh chóng thử nghiệm hay triển khai sản phẩm.
1. Hồ sơ Dev so với hồ sơ Phát hành
Cargo có hai hồ sơ chính: dev (sử dụng bởi cargo build) và phát hành (sử dụng bởi cargo build --release). Hồ sơ dev được tối ưu để biên dịch nhanh nhưng dẫn đến hiệu suất mã chạy chậm hơn, trong khi hồ sơ phát hành dành nhiều thời gian hơn để tối ưu mã máy nhằm đạt hiệu suất cao nhất.
2. Cài đặt mức tối ưu (opt-level)
Cài đặt opt-level cài đặt là yếu tố chính kiểm soát hiệu suất. Nó dao động từ 0 đến 3:
- 0: Không tối ưu. Biên dịch nhanh, mã chạy chậm. (Mặc định cho dev)
- 1-2: Tối ưu trung bình.
- 3: Tối ưu mạnh mẽ. Biên dịch chậm, mã chạy nhanh nhất. (Mặc định cho phát hành)
- "s" hoặc "z": Tối ưu kích thước tập tin nhị phân thay vì tốc độ.
| Hồ sơ | Mức tối ưu mặc định | Mục tiêu |
|---|---|---|
| dev | 0 | Thử nghiệm nhanh |
| phát hành | 3 | Tốc độ sản phẩm |
3. Tùy chỉnh hồ sơ
Bạn có thể ghi đè các mặc định này trong file Cargo.toml. Điều này hữu ích khi mã chưa tối ưu quá chậm để kiểm thử (ví dụ như trong các mô phỏng nặng), nhưng việc xây dựng đầy đủ phát hành lại mất quá lâu.
opt-level = 1 # Mã chạy nhanh hơn mức 0, vẫn nhanh khi biên dịch